package com.rentalcar.wechat.service;

import java.util.List;
import com.rentalcar.wechat.domain.UmsMember;

/**
 * 会员Service接口
 * 
 * @author ruoyi
 * @date 2024-06-20
 */
public interface IUmsMemberService 
{
    /**
     * 查询会员
     * 
     * @param id 会员主键
     * @return 会员
     */
    public UmsMember selectUmsMemberById(Long id);

    /**
     * 查询会员列表
     * 
     * @param umsMember 会员
     * @return 会员集合
     */
    public List<UmsMember> selectUmsMemberList(UmsMember umsMember);

    /**
     * 新增会员
     * 
     * @param umsMember 会员
     * @return 结果
     */
    public int insertUmsMember(UmsMember umsMember);

    /**
     * 修改会员
     * 
     * @param umsMember 会员
     * @return 结果
     */
    public int updateUmsMember(UmsMember umsMember);

    /**
     * 批量删除会员
     * 
     * @param ids 需要删除的会员主键集合
     * @return 结果
     */
    public int deleteUmsMemberByIds(Long[] ids);

    /**
     * 删除会员信息
     * 
     * @param id 会员主键
     * @return 结果
     */
    public int deleteUmsMemberById(Long id);

    UmsMember queryCustomerByh5OpenId(String openid, long storeId);

    UmsMember queryCustomerByappOpenId(String openid, long storeId);

    UmsMember queryCustomerByappletOpenId(String openid, long storeId);

    UmsMember queryCustomerByName(String mobile, long storeId);

    UmsMember queryCustomerInfoById(Long uid);


    int isMobileExist(String mobile, long storeId);

    int registerCustomer(long storeId, String mobile, String password, String code, String value, String recommendCode);

    UmsMember queryCustomerWithNoPasswordById(long customerId);


    /**
     * 根据用户名称查询用户信息(在写库中查询，有硬性需求时才可以调用！)
     *
     * @param userName 用户名称(可能是用户名 , 邮箱或者手机号码)
     * @return 返回用户信息
     */
    UmsMember queryCustomerByNameInWriteDataSource(String userName);
}
